package queue

// 声明一个类型 Queue 类型，这个类型是用 []int 切片实现的
type Queue []int

// 添加元素
func (q *Queue) Push(v int)  {
	// 这里使用指针，才可以把数据真正的添加进去，共外部可用
	*q = append(*q, v)
}

// 弹出顶层元素
func (q *Queue) Pop() int  {
	// 获取最顶层元素
	head := (*q)[0]
	// 把顶层元素剔除
	*q = (*q)[1:]

	return head
}

// 判断是否有值, 是否为empty
func (q *Queue) IsEmpty() bool {
	return len(*q) == 0
}

